package com.zhuiyun.project.api.ancientPoetry.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhuiyun.project.utils.pageUtil.PageRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @Description TODO  诗词模型
 * @Author shy
 * @Date 2023/12/6 16:19
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("诗词模型")
public class AncientPoetryModel {
    /*
    id
     */
    @ApiModelProperty("主键id新增时无需填写")
    private Integer poetryId;
    /*
    作者id
     */
    @ApiModelProperty("作者id")
    @NotNull(message = "作者id不能为空")
    private Integer authorId;
    /*
    作品名称
     */
    @ApiModelProperty("作品名称")
    @NotBlank(message = "作品名称不能为空")
    private String title;
    /*
    作品类型  0古诗  1词  2未知
     */
    @ApiModelProperty("作品类型  0古诗  1词  2未知")
    @NotNull(message = "作品类型不能为空")
    private Integer titleType;
    /*
    朝代
     */
    @ApiModelProperty("朝代")
    @NotNull(message = "朝代不能为空")
    private Integer dynasty;
    /*
    作者
     */
    @ApiModelProperty("作者")
    @NotBlank(message = "作者不能为空")
    private String author;
    /*
    诗词内容
     */
    @ApiModelProperty("诗词内容")
    @NotBlank(message = "诗词内容不能为空")
    private String content;
    /*
    注释
     */
    @ApiModelProperty("注释")
    private String explanatoryNote;
    /*
    译文
     */
    @ApiModelProperty("译文")
    private String translation;
    /*
    赏析
     */
    @ApiModelProperty("赏析")
    private String appreciation;
    /*
    创作背景
     */
    @ApiModelProperty("创作背景")
    private String creationBackground;
    /*
   图片背景地址
    */
    @ApiModelProperty("背景地址")
    private String backgroundImg;
    /*
    创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss" )//DateTimeFormat 是入参格式化；
    private Date creationTime;
    /*
    修改时间
     */
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss" )//DateTimeFormat 是入参格式化；
    private Date updateTime;

}